home *** CD-ROM | disk | FTP | other *** search
/ Windows News 2005 February / WN_129_CD.iso / Windows / Extensions Firefox / FlashGot / flashgot-0.5.3.xpi / install.js next >
Encoding:
Text File  |  2004-11-14  |  2.6 KB  |  70 lines

  1. const APP_DISPLAY_NAME = "FlashGot";
  2. const APP_NAME = "flashgot";
  3. const APP_PACKAGE = "/informaction/flashgot";
  4. const APP_VERSION = "0.5.3";
  5.  
  6. const APP_PREFS_FILE="defaults/preferences/flashgot.js";
  7. const APP_XPCOM_SERVICE="components/flashgotService.js";
  8. const APP_JAR_FILE = "flashgot.jar";
  9. const APP_CONTENT_FOLDER = "content/flashgot/";
  10.  
  11. const APP_LOCALES = ["en-US","it-IT","de-DE","ru-RU","es-ES","hu-HU","sv-SE","pt-BR","fr-FR","he-IL"];
  12.  
  13. const APP_SUCCESS_MESSAGE = APP_DISPLAY_NAME+" should now be available on the context menu when you restart Mozilla.";
  14.  
  15. const INST_TO_PROFILE = "Do you wish to install "+APP_DISPLAY_NAME+" to your profile?\nThis will mean it does not need reinstalling when you update Mozilla.\n(Click Cancel if you want "+APP_DISPLAY_NAME+" installing to the Mozilla directory.)";
  16.  
  17.  
  18. var err;
  19. initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
  20.  
  21. // profile installs only work since 2003-03-06
  22. var instToProfile = (buildID>2003030600 && confirm(INST_TO_PROFILE));
  23.  
  24. var chromef = instToProfile ? getFolder("Profile", "chrome") : getFolder("chrome");
  25. err = addFile(APP_PACKAGE, APP_VERSION, "chrome/" + APP_JAR_FILE, chromef, null);
  26.  
  27.  
  28. if(err == SUCCESS) {
  29.   const prefDirs=[
  30.     getFolder(getFolder("Profile"),"pref"),
  31.     getFolder(getFolder(getFolder("Program"),"defaults"),"pref")
  32.     ];
  33.   for(var j=prefDirs.length; j-->0;) {
  34.     var prefDir=prefDirs[j];
  35.     if(!File.exists(prefDir)) {
  36.       File.dirCreate(prefDir);
  37.     }
  38.     err = addFile(APP_PACKAGE, APP_VERSION,  APP_PREFS_FILE, prefDir, null, true);
  39.     logComment("Adding "+APP_PREFS_FILE+" in "+prefDir+": exit code = "+err);
  40.   }
  41. }
  42.  
  43. if(err == SUCCESS) {
  44.     var jar = getFolder(chromef, APP_JAR_FILE);
  45.     const chromeFlag=instToProfile?PROFILE_CHROME:DELAYED_CHROME;
  46.  
  47.   registerChrome(CONTENT | chromeFlag, jar, APP_CONTENT_FOLDER);
  48.   
  49.   for(var j=APP_LOCALES.length; j-->0;) {
  50.     registerChrome(LOCALE  | chromeFlag, jar, "locale/"+APP_LOCALES[j]+"/flashgot/");
  51.   }
  52.   
  53.   var componentsDir = getFolder("Components");
  54.   
  55.   addFile(APP_PACKAGE,APP_VERSION, APP_XPCOM_SERVICE, componentsDir, null, true);
  56.   
  57.     err = performInstall();
  58.     if(err == SUCCESS || err == 999) {
  59.         alert(APP_DISPLAY_NAME+" "+APP_VERSION+" has been succesfully installed.\n"+APP_SUCCESS_MESSAGE);
  60.     } else {
  61.         alert("Install failed!!! Error code:" + err);
  62.         cancelInstall(err);
  63.     }
  64. } else {
  65.     alert("Failed to create " +APP_JAR_FILE +"\n"
  66.         +"You probably don't have appropriate permissions \n"
  67.         +"(write access to your profile or chrome directory). \n"
  68.         +"_____________________________\nError code:" + err);
  69.     cancelInstall(err);
  70. }